Transaction processing systems are on-line, application-oriented systems typically implemented on a multi-processor data processing system supporting a plurality of terminals, often distributed over a large geographical area. A typical transaction processing system is IBM's ACP (for Airline Control Program) which, although classically used in airlines reservations systems, has been also used in other systems, notably by banks for on-line teller applications.
A large body of prior work has been done on workload management in multiple processor and distributed systems. Both static and dynamic load balance algorithms are described in References 4, 6 and 7. However, these algorithms attempt to minimize average response time over all transaction arrivals and do not consider different classes of transactions which might have different response time goals.
In Reference 1, job classes are assigned response time goals and a scheduling algorithm is proposed that schedules jobs, but this is done all within a single processor. There is no suggestion as to how this algorithm might be extended or modified to apply to a multiprocessor system and to handle the added problem of routing transactions with different response time class goals to multiple computers.
Some research has been done on static and dynamic transaction routing algorithms and has been reported in References 9 and 10. However, this prior work on transaction routing has also focused on minimizing average response time over all arriving transactions and does not address distinct class goals. In general, minimizing overall response time will not satisfy class specific goals.
It would be desirable to have a workload manager for a transaction multiprocessing system that balances workload in accordance with different response time goals for different classes of transactions.